<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
 <meta>
  <!-- Stylesheets -->
  <link href="../web.css" type="text/css" rel="stylesheet"></link>
  <link href="../pygmentize.css" type="text/css" rel="stylesheet"></link>
  <title>VLFeat - Documentation - C API</title>
  <link rel="stylesheet" type="text/css" href="../doxygen.css"></style>

  <!-- Scripts-->
  
 </meta>

 <!-- Body Start -->
 <body>
  <div id="header">
   <!-- Google CSE Search Box Begins -->
   <form action="http://www.vlfeat.org/search.html" method="get" id="cse-search-box" enctype="application/x-www-form-urlencoded">
    <div>
     <input type="hidden" name="cx" value="003215582122030917471:oq23albfeam"></input>
     <input type="hidden" name="cof" value="FORID:11"></input>
     <input type="hidden" name="ie" value="UTF-8"></input>
     <input type="text" name="q" size="31"></input>
     <input type="submit" name="sa" value="Search"></input>
    </div>
   </form>
   <script src="http://www.google.com/coop/cse/brand?form=cse-search-box&amp;lang=en" xml:space="preserve" type="text/javascript"></script>
   <!-- Google CSE Search Box Ends -->
   <h1><a shape="rect" href="../index.html" class="plain"><span id="vlfeat">VLFeat</span><span id="dotorg">.org</span></a></h1>
  </div>
  <div id="headbanner">
   Documentation - C API
  </div>
  <div id="pagebody">
   <div id="sidebar"> <!-- Navigation Start -->
    <ul>
<li><a href="../index.html">Home</a>
</li>
<li><a href="../download.html">Download</a>
</li>
<li><a href="../doc.html">Documentation</a>
<ul>
<li><a href="../mdoc/mdoc.html">Matlab API</a>
</li>
<li><a href="index.html" class='active' >C API</a>
</li>
<li><a href="../man/man.html">Man pages</a>
</li>
</ul></li>
<li><a href="../overview/tut.html">Tutorials</a>
</li>
<li><a href="../applications/apps.html">Applications</a>
</li>
</ul>

   </div> <!-- sidebar -->
   <div id="content">
    
    <link rel="stylesheet" type="text/css" href="../doxygen.css"></style>
    <div class="doxygen">
<div>
<!-- Generated by Doxygen 1.7.5.1 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Defines</a>  </div>
  <div class="headertitle">
<div class="title">array.h File Reference</div>  </div>
</div>
<div class="contents">

<p>Array.  
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="generic_8h.html">generic.h</a>&quot;</code><br/>
</div><table class="memberdecls">
<tr><td colspan="2"><h2><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVlArray.html">VlArray</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Numeric array.  <a href="structVlArray.html#details">More...</a><br/></td></tr>
<tr><td colspan="2"><h2><a name="define-members"></a>
Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a80a9a517ee30d7400df369f6a126efd1"></a><!-- doxytag: member="array.h::VL_ARRAY_MAX_NUM_DIMENSIONS" ref="a80a9a517ee30d7400df369f6a126efd1" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="array_8h.html#a80a9a517ee30d7400df369f6a126efd1">VL_ARRAY_MAX_NUM_DIMENSIONS</a>&#160;&#160;&#160;16</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Maximum number of array dimensions. <br/></td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td colspan="2"><div class="groupHeader">Get data and parameters</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="host_8h.html#a0ee26101458c663510d620e3ee7e2555">vl_size</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="array_8h.html#a5c38f7c444dbab895b31fc4fdb88422d">vl_array_get_num_dimensions</a> (<a class="el" href="structVlArray.html">VlArray</a> const *self)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get number of dimensions.  <a href="#a5c38f7c444dbab895b31fc4fdb88422d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="host_8h.html#a0ee26101458c663510d620e3ee7e2555">vl_size</a> const *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="array_8h.html#a7c12c71703fc9a14d7006596a49e6da7">vl_array_get_dimensions</a> (<a class="el" href="structVlArray.html">VlArray</a> const *self)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get dimensions.  <a href="#a7c12c71703fc9a14d7006596a49e6da7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="array_8h.html#a0772023f96ae890d81dc8b18367da34e">vl_array_get_data</a> (<a class="el" href="structVlArray.html">VlArray</a> const *self)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get data.  <a href="#a0772023f96ae890d81dc8b18367da34e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">vl_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="array_8h.html#a8a855ba511380e99590905879e578ed2">vl_array_get_data_type</a> (<a class="el" href="structVlArray.html">VlArray</a> const *self)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get type.  <a href="#a8a855ba511380e99590905879e578ed2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="host_8h.html#a0ee26101458c663510d620e3ee7e2555">vl_size</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="array_8h.html#a96d147d44ba7cbe905565181fa8b970f">vl_array_get_num_elements</a> (<a class="el" href="structVlArray.html">VlArray</a> const *self)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get number of elements in array.  <a href="#a96d147d44ba7cbe905565181fa8b970f"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Constructing and destroying</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structVlArray.html">VlArray</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="array_8h.html#ace20f981fb6eb4a7747d2401e39d2dc1">vl_array_init</a> (<a class="el" href="structVlArray.html">VlArray</a> *self, vl_type type, <a class="el" href="host_8h.html#a0ee26101458c663510d620e3ee7e2555">vl_size</a> numDimension, <a class="el" href="host_8h.html#a0ee26101458c663510d620e3ee7e2555">vl_size</a> const *dimensions)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">New numeric array.  <a href="#ace20f981fb6eb4a7747d2401e39d2dc1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structVlArray.html">VlArray</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="array_8h.html#a0c95a9c5c84f1424f0a6764fcd0aac04">vl_array_init_envelope</a> (<a class="el" href="structVlArray.html">VlArray</a> *self, void *data, vl_type type, <a class="el" href="host_8h.html#a0ee26101458c663510d620e3ee7e2555">vl_size</a> numDimension, <a class="el" href="host_8h.html#a0ee26101458c663510d620e3ee7e2555">vl_size</a> const *dimensions)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">New numeric array envelope.  <a href="#a0c95a9c5c84f1424f0a6764fcd0aac04"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structVlArray.html">VlArray</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="array_8h.html#a55a46e1a99eb574cefc4eb0dd09b56cc">vl_array_init_matrix</a> (<a class="el" href="structVlArray.html">VlArray</a> *self, vl_type type, <a class="el" href="host_8h.html#a0ee26101458c663510d620e3ee7e2555">vl_size</a> numRows, <a class="el" href="host_8h.html#a0ee26101458c663510d620e3ee7e2555">vl_size</a> numColumns)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">New numeric array with matrix shape.  <a href="#a55a46e1a99eb574cefc4eb0dd09b56cc"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structVlArray.html">VlArray</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="array_8h.html#a775d33f54544375456c90a9de92e72b3">vl_array_init_matrix_envelope</a> (<a class="el" href="structVlArray.html">VlArray</a> *self, void *data, vl_type type, <a class="el" href="host_8h.html#a0ee26101458c663510d620e3ee7e2555">vl_size</a> numRows, <a class="el" href="host_8h.html#a0ee26101458c663510d620e3ee7e2555">vl_size</a> numColumns)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">New numeric array envelpe with matrix shape.  <a href="#a775d33f54544375456c90a9de92e72b3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structVlArray.html">VlArray</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="array_8h.html#ac6385e80257a49b73db54d6315148841">vl_array_new</a> (vl_type type, <a class="el" href="host_8h.html#a0ee26101458c663510d620e3ee7e2555">vl_size</a> numDimension, <a class="el" href="host_8h.html#a0ee26101458c663510d620e3ee7e2555">vl_size</a> const *dimensions)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">New numeric array.  <a href="#ac6385e80257a49b73db54d6315148841"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structVlArray.html">VlArray</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="array_8h.html#ad6b2dfe3698bc8c2642eb188d1e06424">vl_array_new_envelope</a> (void *data, vl_type type, <a class="el" href="host_8h.html#a0ee26101458c663510d620e3ee7e2555">vl_size</a> numDimension, <a class="el" href="host_8h.html#a0ee26101458c663510d620e3ee7e2555">vl_size</a> const *dimensions)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">New numeric array envelope.  <a href="#ad6b2dfe3698bc8c2642eb188d1e06424"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structVlArray.html">VlArray</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="array_8h.html#a690d8fec203e2f5ffb320fc788421171">vl_array_new_matrix</a> (vl_type type, <a class="el" href="host_8h.html#a0ee26101458c663510d620e3ee7e2555">vl_size</a> numRows, <a class="el" href="host_8h.html#a0ee26101458c663510d620e3ee7e2555">vl_size</a> numColumns)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">New numeric array with matrix shape.  <a href="#a690d8fec203e2f5ffb320fc788421171"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structVlArray.html">VlArray</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="array_8h.html#a15b066f9b7c6a29c1a324e9cb2a581c6">vl_array_new_matrix_envelope</a> (void *data, vl_type type, <a class="el" href="host_8h.html#a0ee26101458c663510d620e3ee7e2555">vl_size</a> numRows, <a class="el" href="host_8h.html#a0ee26101458c663510d620e3ee7e2555">vl_size</a> numColumns)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">New numeric array envelpe with matrix shape.  <a href="#a15b066f9b7c6a29c1a324e9cb2a581c6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="array_8h.html#a22469f7d3a16d6bd56025330c87c351e">vl_array_dealloc</a> (<a class="el" href="structVlArray.html">VlArray</a> *self)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete array.  <a href="#a22469f7d3a16d6bd56025330c87c351e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="array_8h.html#a32a8f1faf1c01c33c762b5a607a53582">vl_array_delete</a> (<a class="el" href="structVlArray.html">VlArray</a> *self)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete array.  <a href="#a32a8f1faf1c01c33c762b5a607a53582"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Array - Definition.</p>
<dl class="author"><dt><b>Author:</b></dt><dd>Andrea Vedaldi </dd></dl>
</div><hr/><h2>Function Documentation</h2>
<a class="anchor" id="a22469f7d3a16d6bd56025330c87c351e"></a><!-- doxytag: member="array.h::vl_array_dealloc" ref="a22469f7d3a16d6bd56025330c87c351e" args="(VlArray *self)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void vl_array_dealloc </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structVlArray.html">VlArray</a> *&#160;</td>
          <td class="paramname"><em>self</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">self</td><td>array. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a32a8f1faf1c01c33c762b5a607a53582"></a><!-- doxytag: member="array.h::vl_array_delete" ref="a32a8f1faf1c01c33c762b5a607a53582" args="(VlArray *self)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void vl_array_delete </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structVlArray.html">VlArray</a> *&#160;</td>
          <td class="paramname"><em>self</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">self</td><td>array. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a0772023f96ae890d81dc8b18367da34e"></a><!-- doxytag: member="array.h::vl_array_get_data" ref="a0772023f96ae890d81dc8b18367da34e" args="(VlArray const *self)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* vl_array_get_data </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structVlArray.html">VlArray</a> const *&#160;</td>
          <td class="paramname"><em>self</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">self</td><td>array. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>data. </dd></dl>

</div>
</div>
<a class="anchor" id="a8a855ba511380e99590905879e578ed2"></a><!-- doxytag: member="array.h::vl_array_get_data_type" ref="a8a855ba511380e99590905879e578ed2" args="(VlArray const *self)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">vl_type vl_array_get_data_type </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structVlArray.html">VlArray</a> const *&#160;</td>
          <td class="paramname"><em>self</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">self</td><td>array. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>type. </dd></dl>

</div>
</div>
<a class="anchor" id="a7c12c71703fc9a14d7006596a49e6da7"></a><!-- doxytag: member="array.h::vl_array_get_dimensions" ref="a7c12c71703fc9a14d7006596a49e6da7" args="(VlArray const *self)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="host_8h.html#a0ee26101458c663510d620e3ee7e2555">vl_size</a> const* vl_array_get_dimensions </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structVlArray.html">VlArray</a> const *&#160;</td>
          <td class="paramname"><em>self</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">self</td><td>array. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>dimensions. </dd></dl>

</div>
</div>
<a class="anchor" id="a5c38f7c444dbab895b31fc4fdb88422d"></a><!-- doxytag: member="array.h::vl_array_get_num_dimensions" ref="a5c38f7c444dbab895b31fc4fdb88422d" args="(VlArray const *self)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="host_8h.html#a0ee26101458c663510d620e3ee7e2555">vl_size</a> vl_array_get_num_dimensions </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structVlArray.html">VlArray</a> const *&#160;</td>
          <td class="paramname"><em>self</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">self</td><td>array. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>number of dimensions. </dd></dl>

</div>
</div>
<a class="anchor" id="a96d147d44ba7cbe905565181fa8b970f"></a><!-- doxytag: member="array.h::vl_array_get_num_elements" ref="a96d147d44ba7cbe905565181fa8b970f" args="(VlArray const *self)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="host_8h.html#a0ee26101458c663510d620e3ee7e2555">vl_size</a> vl_array_get_num_elements </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structVlArray.html">VlArray</a> const *&#160;</td>
          <td class="paramname"><em>self</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">self</td><td>array. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>number of elements. </dd></dl>

</div>
</div>
<a class="anchor" id="ace20f981fb6eb4a7747d2401e39d2dc1"></a><!-- doxytag: member="array.h::vl_array_init" ref="ace20f981fb6eb4a7747d2401e39d2dc1" args="(VlArray *self, vl_type type, vl_size numDimension, vl_size const *dimensions)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structVlArray.html">VlArray</a>* vl_array_init </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structVlArray.html">VlArray</a> *&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">vl_type&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="host_8h.html#a0ee26101458c663510d620e3ee7e2555">vl_size</a>&#160;</td>
          <td class="paramname"><em>numDimensions</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="host_8h.html#a0ee26101458c663510d620e3ee7e2555">vl_size</a> const *&#160;</td>
          <td class="paramname"><em>dimensions</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">self</td><td>array to initialize. </td></tr>
    <tr><td class="paramname">type</td><td>data type. </td></tr>
    <tr><td class="paramname">numDimensions</td><td>number of dimensions. </td></tr>
    <tr><td class="paramname">dimensions</td><td>dimensions.</td></tr>
  </table>
  </dd>
</dl>
<p>The function initializes the specified array and allocates the necessary memory for storage. </p>

</div>
</div>
<a class="anchor" id="a0c95a9c5c84f1424f0a6764fcd0aac04"></a><!-- doxytag: member="array.h::vl_array_init_envelope" ref="a0c95a9c5c84f1424f0a6764fcd0aac04" args="(VlArray *self, void *data, vl_type type, vl_size numDimension, vl_size const *dimensions)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structVlArray.html">VlArray</a>* vl_array_init_envelope </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structVlArray.html">VlArray</a> *&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">vl_type&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="host_8h.html#a0ee26101458c663510d620e3ee7e2555">vl_size</a>&#160;</td>
          <td class="paramname"><em>numDimensions</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="host_8h.html#a0ee26101458c663510d620e3ee7e2555">vl_size</a> const *&#160;</td>
          <td class="paramname"><em>dimensions</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">self</td><td>array to initialize. </td></tr>
    <tr><td class="paramname">data</td><td>data to envelople. </td></tr>
    <tr><td class="paramname">type</td><td>data type. </td></tr>
    <tr><td class="paramname">numDimensions</td><td>number of dimensions. </td></tr>
    <tr><td class="paramname">dimensions</td><td>dimensions.</td></tr>
  </table>
  </dd>
</dl>
<p>The function initializes the specified array wrapping the specified buffer. </p>

</div>
</div>
<a class="anchor" id="a55a46e1a99eb574cefc4eb0dd09b56cc"></a><!-- doxytag: member="array.h::vl_array_init_matrix" ref="a55a46e1a99eb574cefc4eb0dd09b56cc" args="(VlArray *self, vl_type type, vl_size numRows, vl_size numColumns)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structVlArray.html">VlArray</a>* vl_array_init_matrix </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structVlArray.html">VlArray</a> *&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">vl_type&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="host_8h.html#a0ee26101458c663510d620e3ee7e2555">vl_size</a>&#160;</td>
          <td class="paramname"><em>numRows</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="host_8h.html#a0ee26101458c663510d620e3ee7e2555">vl_size</a>&#160;</td>
          <td class="paramname"><em>numColumns</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">self</td><td>array to initialize. </td></tr>
    <tr><td class="paramname">type</td><td>type. </td></tr>
    <tr><td class="paramname">numRows</td><td>number of rows. </td></tr>
    <tr><td class="paramname">numColumns</td><td>number of columns. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a775d33f54544375456c90a9de92e72b3"></a><!-- doxytag: member="array.h::vl_array_init_matrix_envelope" ref="a775d33f54544375456c90a9de92e72b3" args="(VlArray *self, void *data, vl_type type, vl_size numRows, vl_size numColumns)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structVlArray.html">VlArray</a>* vl_array_init_matrix_envelope </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structVlArray.html">VlArray</a> *&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">vl_type&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="host_8h.html#a0ee26101458c663510d620e3ee7e2555">vl_size</a>&#160;</td>
          <td class="paramname"><em>numRows</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="host_8h.html#a0ee26101458c663510d620e3ee7e2555">vl_size</a>&#160;</td>
          <td class="paramname"><em>numColumns</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">self</td><td>array to initialize. </td></tr>
    <tr><td class="paramname">data</td><td>data to envelope. </td></tr>
    <tr><td class="paramname">type</td><td>type. </td></tr>
    <tr><td class="paramname">numRows</td><td>number of rows. </td></tr>
    <tr><td class="paramname">numColumns</td><td>number of columns. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ac6385e80257a49b73db54d6315148841"></a><!-- doxytag: member="array.h::vl_array_new" ref="ac6385e80257a49b73db54d6315148841" args="(vl_type type, vl_size numDimension, vl_size const *dimensions)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structVlArray.html">VlArray</a>* vl_array_new </td>
          <td>(</td>
          <td class="paramtype">vl_type&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="host_8h.html#a0ee26101458c663510d620e3ee7e2555">vl_size</a>&#160;</td>
          <td class="paramname"><em>numDimensions</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="host_8h.html#a0ee26101458c663510d620e3ee7e2555">vl_size</a> const *&#160;</td>
          <td class="paramname"><em>dimensions</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">type</td><td>data type. </td></tr>
    <tr><td class="paramname">numDimensions</td><td>number of dimensions. </td></tr>
    <tr><td class="paramname">dimensions</td><td>dimensions.</td></tr>
  </table>
  </dd>
</dl>
<p>The function creates a new VLArray instance and allocates the necessary memory for storage. </p>

</div>
</div>
<a class="anchor" id="ad6b2dfe3698bc8c2642eb188d1e06424"></a><!-- doxytag: member="array.h::vl_array_new_envelope" ref="ad6b2dfe3698bc8c2642eb188d1e06424" args="(void *data, vl_type type, vl_size numDimension, vl_size const *dimensions)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structVlArray.html">VlArray</a>* vl_array_new_envelope </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">vl_type&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="host_8h.html#a0ee26101458c663510d620e3ee7e2555">vl_size</a>&#160;</td>
          <td class="paramname"><em>numDimensions</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="host_8h.html#a0ee26101458c663510d620e3ee7e2555">vl_size</a> const *&#160;</td>
          <td class="paramname"><em>dimensions</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">data</td><td>data to envelople. </td></tr>
    <tr><td class="paramname">type</td><td>data type. </td></tr>
    <tr><td class="paramname">numDimensions</td><td>number of dimensions. </td></tr>
    <tr><td class="paramname">dimensions</td><td>dimensions. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a690d8fec203e2f5ffb320fc788421171"></a><!-- doxytag: member="array.h::vl_array_new_matrix" ref="a690d8fec203e2f5ffb320fc788421171" args="(vl_type type, vl_size numRows, vl_size numColumns)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structVlArray.html">VlArray</a>* vl_array_new_matrix </td>
          <td>(</td>
          <td class="paramtype">vl_type&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="host_8h.html#a0ee26101458c663510d620e3ee7e2555">vl_size</a>&#160;</td>
          <td class="paramname"><em>numRows</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="host_8h.html#a0ee26101458c663510d620e3ee7e2555">vl_size</a>&#160;</td>
          <td class="paramname"><em>numColumns</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">type</td><td>type. </td></tr>
    <tr><td class="paramname">numRows</td><td>number of rows. </td></tr>
    <tr><td class="paramname">numColumns</td><td>number of columns. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a15b066f9b7c6a29c1a324e9cb2a581c6"></a><!-- doxytag: member="array.h::vl_array_new_matrix_envelope" ref="a15b066f9b7c6a29c1a324e9cb2a581c6" args="(void *data, vl_type type, vl_size numRows, vl_size numColumns)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structVlArray.html">VlArray</a>* vl_array_new_matrix_envelope </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">vl_type&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="host_8h.html#a0ee26101458c663510d620e3ee7e2555">vl_size</a>&#160;</td>
          <td class="paramname"><em>numRows</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="host_8h.html#a0ee26101458c663510d620e3ee7e2555">vl_size</a>&#160;</td>
          <td class="paramname"><em>numColumns</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">data</td><td>data to envelope. </td></tr>
    <tr><td class="paramname">type</td><td>type. </td></tr>
    <tr><td class="paramname">numRows</td><td>number of rows. </td></tr>
    <tr><td class="paramname">numColumns</td><td>number of columns. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
</div>
     <!-- Doc Here -->
    </div>
   
   </div>
   <div class="clear">&nbsp;</div>
  </div> <!-- pagebody -->
  <div id="footer">
   &copy; 2007-12 Andrea Vedaldi and Brian Fulkerson
  </div> <!-- footer -->

  <!-- Google Analytics Begins -->
  <script xml:space="preserve" type="text/javascript">
   //<![CDATA[
    var localre = /vlfeat.org/;
    if(document.location.host.search(localre) != -1)
    {
   var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
   document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
   }
   //]]>
  </script>
  <script xml:space="preserve" type="text/javascript">
    //<![CDATA[
    var localre = /vlfeat.org/;
    if(document.location.host.search(localre) != -1)
    {

   try {
   var pageTracker = _gat._getTracker("UA-4936091-2");
   pageTracker._trackPageview();
   } catch(err) {}

   }
   //]]>
  </script>
  <!-- Google Analytics Ends -->
 </body>
</html>

 
